package com.ruoyi.vbze.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 植株管理对象 plant
 * 
 * @author vbze
 * @date 2023-02-22
 */
public class Plant extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 植株id */
    private Long id;

    /** 植株编号 */
    @Excel(name = "植株编号")
    private String plantNumber;

    /** 植株所在区块 */
    @Excel(name = "植株所在区块")
    private String blockNumber;

    /** 采样日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采样日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date samplingDate;

    /** 创建人 */
    private String creator;

    /** 株高 */
    @Excel(name = "株高")
    private BigDecimal height;

    /** 主茎叶总面积 */
    @Excel(name = "主茎叶总面积")
    private BigDecimal mainLeafArea;

    /** 剩余叶总面积 */
    @Excel(name = "剩余叶总面积")
    private BigDecimal remainingLeafArea;

    /** 全叶叶面积 */
    @Excel(name = "全叶叶面积")
    private BigDecimal totalLeafArea;

    /** 主茎叶数量 */
    @Excel(name = "主茎叶数量")
    private Long mainLeafCount;

    /** 剩余叶数量 */
    @Excel(name = "剩余叶数量")
    private Long remainingLeafCount;

    /** 叶总数 */
    @Excel(name = "叶总数")
    private Integer leafCount;

    /** 叶鲜重 */
    @Excel(name = "叶鲜重")
    private BigDecimal leafFreshWeight;

    /** 茎鲜重 */
    @Excel(name = "茎鲜重")
    private BigDecimal stemFreshWeight;

    /** 蕾鲜重 */
    @Excel(name = "蕾鲜重")
    private BigDecimal budFreshWeight;

    /** 铃鲜重 */
    @Excel(name = "铃鲜重")
    private BigDecimal bollFreshWeight;

    /** 根鲜重 */
    @Excel(name = "根鲜重")
    private BigDecimal rootFreshWeight;

    /** 叶干重 */
    @Excel(name = "叶干重")
    private BigDecimal leafDryWeight;

    /** 茎干重 */
    @Excel(name = "茎干重")
    private BigDecimal stemDryWeight;

    /** 蕾干重 */
    @Excel(name = "蕾干重")
    private BigDecimal budDryWeight;

    /** 铃干重 */
    @Excel(name = "铃干重")
    private BigDecimal bollDryWeight;

    /** 根干重 */
    @Excel(name = "根干重")
    private BigDecimal rootDryWeight;

    /** 棉壳干重 */
    @Excel(name = "棉壳干重")
    private BigDecimal cottonShellDryWeight;

    /** 棉絮干重 */
    @Excel(name = "棉絮干重")
    private BigDecimal battDryWeight;

    /** 比叶重 */
    @Excel(name = "比叶重")
    private BigDecimal specificLeafWeight;

    /** 叶面积指数LAI */
    @Excel(name = "叶面积指数LAI")
    private BigDecimal lai;

    /** 铃数 */
    @Excel(name = "铃数")
    private Integer bolls;

    /** 吐絮数 */
    @Excel(name = "吐絮数")
    private Integer openings;

    /** 生物量 */
    @Excel(name = "生物量")
    private BigDecimal biomass;

    /** 叶氮浓度 */
    @Excel(name = "叶氮浓度")
    private BigDecimal leafNConcentration;

    /** 冠层氮密度 */
    @Excel(name = "冠层氮密度")
    private BigDecimal canopyNDensity;

    /** 氮含量 */
    @Excel(name = "氮含量")
    private BigDecimal nitrogenContent;

    /** 棉花品种 */
    @Excel(name = "棉花品种")
    private String variety;

    /** 最后修改人 */
    private String lastEditor;

    /** 最后修改时间 */
    private Date lastEditTime;

    /** 备注 */
    @Excel(name = "备注")
    private String description;

    /** 叶片管理信息 */
    private List<Leaf> leafList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPlantNumber(String plantNumber) 
    {
        this.plantNumber = plantNumber;
    }

    public String getPlantNumber() 
    {
        return plantNumber;
    }
    public void setBlockNumber(String blockNumber) 
    {
        this.blockNumber = blockNumber;
    }

    public String getBlockNumber() 
    {
        return blockNumber;
    }
    public void setSamplingDate(Date samplingDate)
    {
        this.samplingDate = samplingDate;
    }

    public Date getSamplingDate()
    {
        return samplingDate;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setHeight(BigDecimal height) 
    {
        this.height = height;
    }

    public BigDecimal getHeight() 
    {
        return height;
    }
    public void setMainLeafArea(BigDecimal mainLeafArea) 
    {
        this.mainLeafArea = mainLeafArea;
    }

    public BigDecimal getMainLeafArea() 
    {
        return mainLeafArea;
    }
    public void setRemainingLeafArea(BigDecimal remainingLeafArea)
    {
        this.remainingLeafArea = remainingLeafArea;
    }

    public BigDecimal getRemainingLeafArea()
    {
        return remainingLeafArea;
    }
    public void setTotalLeafArea(BigDecimal totalLeafArea)
    {
        this.totalLeafArea = totalLeafArea;
    }

    public BigDecimal getTotalLeafArea() 
    {
        return totalLeafArea;
    }
    public void setMainLeafCount(Long mainLeafCount)
    {
        this.mainLeafCount = mainLeafCount;
    }

    public Long getMainLeafCount()
    {
        return mainLeafCount;
    }
    public void setRemainingLeafCount(Long remainingLeafCount)
    {
        this.remainingLeafCount = remainingLeafCount;
    }

    public Long getRemainingLeafCount()
    {
        return remainingLeafCount;
    }
    public void setLeafCount(Integer leafCount)
    {
        this.leafCount = leafCount;
    }

    public Integer getLeafCount()
    {
        return leafCount;
    }
    public void setLeafFreshWeight(BigDecimal leafFreshWeight)
    {
        this.leafFreshWeight = leafFreshWeight;
    }

    public BigDecimal getLeafFreshWeight()
    {
        return leafFreshWeight;
    }
    public void setStemFreshWeight(BigDecimal stemFreshWeight)
    {
        this.stemFreshWeight = stemFreshWeight;
    }

    public BigDecimal getStemFreshWeight()
    {
        return stemFreshWeight;
    }
    public void setBudFreshWeight(BigDecimal budFreshWeight)
    {
        this.budFreshWeight = budFreshWeight;
    }

    public BigDecimal getBudFreshWeight()
    {
        return budFreshWeight;
    }
    public void setBollFreshWeight(BigDecimal bollFreshWeight)
    {
        this.bollFreshWeight = bollFreshWeight;
    }

    public BigDecimal getBollFreshWeight()
    {
        return bollFreshWeight;
    }
    public void setRootFreshWeight(BigDecimal rootFreshWeight)
    {
        this.rootFreshWeight = rootFreshWeight;
    }

    public BigDecimal getRootFreshWeight()
    {
        return rootFreshWeight;
    }
    public void setLeafDryWeight(BigDecimal leafDryWeight)
    {
        this.leafDryWeight = leafDryWeight;
    }

    public BigDecimal getLeafDryWeight()
    {
        return leafDryWeight;
    }
    public void setStemDryWeight(BigDecimal stemDryWeight)
    {
        this.stemDryWeight = stemDryWeight;
    }

    public BigDecimal getStemDryWeight() 
    {
        return stemDryWeight;
    }
    public void setBudDryWeight(BigDecimal budDryWeight) 
    {
        this.budDryWeight = budDryWeight;
    }

    public BigDecimal getBudDryWeight() 
    {
        return budDryWeight;
    }
    public void setBollDryWeight(BigDecimal bollDryWeight)
    {
        this.bollDryWeight = bollDryWeight;
    }

    public BigDecimal getBollDryWeight()
    {
        return bollDryWeight;
    }
    public void setRootDryWeight(BigDecimal rootDryWeight)
    {
        this.rootDryWeight = rootDryWeight;
    }

    public BigDecimal getRootDryWeight()
    {
        return rootDryWeight;
    }
    public void setCottonShellDryWeight(BigDecimal cottonShellDryWeight)
    {
        this.cottonShellDryWeight = cottonShellDryWeight;
    }

    public BigDecimal getCottonShellDryWeight()
    {
        return cottonShellDryWeight;
    }
    public void setBattDryWeight(BigDecimal battDryWeight)
    {
        this.battDryWeight = battDryWeight;
    }

    public BigDecimal getBattDryWeight()
    {
        return battDryWeight;
    }
    public void setSpecificLeafWeight(BigDecimal specificLeafWeight)
    {
        this.specificLeafWeight = specificLeafWeight;
    }

    public BigDecimal getSpecificLeafWeight()
    {
        return specificLeafWeight;
    }
    public void setLai(BigDecimal lai)
    {
        this.lai = lai;
    }

    public BigDecimal getLai()
    {
        return lai;
    }
    public void setBolls(Integer bolls) 
    {
        this.bolls = bolls;
    }

    public Integer getBolls() 
    {
        return bolls;
    }
    public void setOpenings(Integer openings) 
    {
        this.openings = openings;
    }

    public Integer getOpenings() 
    {
        return openings;
    }
    public void setBiomass(BigDecimal biomass)
    {
        this.biomass = biomass;
    }

    public BigDecimal getBiomass()
    {
        return biomass;
    }
    public void setLeafNConcentration(BigDecimal leafNConcentration)
    {
        this.leafNConcentration = leafNConcentration;
    }

    public BigDecimal getLeafNConcentration()
    {
        return leafNConcentration;
    }
    public void setCanopyNDensity(BigDecimal canopyNDensity)
    {
        this.canopyNDensity = canopyNDensity;
    }

    public BigDecimal getCanopyNDensity()
    {
        return canopyNDensity;
    }
    public void setNitrogenContent(BigDecimal nitrogenContent)
    {
        this.nitrogenContent = nitrogenContent;
    }

    public BigDecimal getNitrogenContent() 
    {
        return nitrogenContent;
    }
    public void setVariety(String variety)
    {
        this.variety = variety;
    }

    public String getVariety()
    {
        return variety;
    }
    public void setLastEditor(String lastEditor)
    {
        this.lastEditor = lastEditor;
    }

    public String getLastEditor() 
    {
        return lastEditor;
    }
    public void setLastEditTime(Date lastEditTime) 
    {
        this.lastEditTime = lastEditTime;
    }

    public Date getLastEditTime() 
    {
        return lastEditTime;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public List<Leaf> getLeafList()
    {
        return leafList;
    }

    public void setLeafList(List<Leaf> leafList)
    {
        this.leafList = leafList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("plantNumber", getPlantNumber())
            .append("blockNumber", getBlockNumber())
            .append("samplingDate", getSamplingDate())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("height", getHeight())
            .append("mainLeafArea", getMainLeafArea())
            .append("remainingLeafArea", getRemainingLeafArea())
            .append("totalLeafArea", getTotalLeafArea())
            .append("mainLeafCount", getMainLeafCount())
            .append("remainingLeafCount", getRemainingLeafCount())
            .append("leafCount", getLeafCount())
            .append("leafFreshWeight", getLeafFreshWeight())
            .append("stemFreshWeight", getStemFreshWeight())
            .append("budFreshWeight", getBudFreshWeight())
            .append("bollFreshWeight", getBollFreshWeight())
            .append("rootFreshWeight", getRootFreshWeight())
            .append("leafDryWeight", getLeafDryWeight())
            .append("stemDryWeight", getStemDryWeight())
            .append("budDryWeight", getBudDryWeight())
            .append("bollDryWeight", getBollDryWeight())
            .append("rootDryWeight", getRootDryWeight())
            .append("cottonShellDryWeight", getCottonShellDryWeight())
            .append("battDryWeight", getBattDryWeight())
            .append("specificLeafWeight", getSpecificLeafWeight())
            .append("lai", getLai())
            .append("bolls", getBolls())
            .append("openings", getOpenings())
            .append("biomass", getBiomass())
            .append("leafNConcentration", getLeafNConcentration())
            .append("canopyNDensity", getCanopyNDensity())
            .append("nitrogenContent", getNitrogenContent())
            .append("variety", getVariety())
            .append("lastEditor", getLastEditor())
            .append("lastEditTime", getLastEditTime())
            .append("description", getDescription())
            .append("leafList", getLeafList())
            .toString();
    }
}
